草庐IT

PHPUnit 和 CodeIgniter

全部标签

PHPUnit Laravel InvalidArgumentException : Unable to locate factory with name [default] [App\User]

我在测试中有一个设置函数,它执行以下操作functionsetUp(){$this->user=factory(User::class)->create();}当然,我使用“使用App\User;”在最顶端。这是我的模型工厂/**@var\Illuminate\Database\Eloquent\Factory$factory*/$factory->define(App\User::class,function(Faker\Generator$faker){static$password;return['name'=>$faker->name,'email'=>$faker->uniq

php - Codeigniter 无法解码加密的密码

我制作了一个登录表单,用户可以在其中提交他的用户名和密码。如果用户名存在,我解码密码并检查是否与提交的密码相同。//这是来自数据库string(50)"v+bNPHNWHGQbcxrvu1vN8Ty++cMq0oEeaZesvfCfsLgNAFgZno"//这是解码上面的字符串后的结果string(32)"��U�U{q�0�4��è€UC��o�/�*�."但它应该返回123456对于我使用的编码$this->encrypt->encode('123456');这是秘钥$config['encryption_key']='kRlaMne

php - 如何在不为每个函数运行新的浏览器窗口的情况下运行 PHPUnit Selenium 测试?

我正在尝试使用PHPUnit运行selenium测试用例。我做的第一件事是尝试登录功能,这很完美,但后来我想运行一个功能来检查登录后页面上的信息,但它会打开一个新的浏览器,而不是在当前浏览器窗口中继续。这是一个问题的原因是因为页面设置为在窗口关闭时删除登录身份验证,所以如果您使用$this->url()转到该页面,它会给出我需要登录的错误。这是我现在的代码,它启动浏览器并运行测试登录表单的功能,然后关闭浏览器,打开一个新浏览器并运行链接检查。由于窗口已关闭,这当然会由于身份验证错误而导致错误。我可以在一个函数中运行所有测试,但这确实是草率的编码,我想避免这种情况。任何人都知道如何解决这

php - 使用 CodeIgniter 在 View 文件夹外加载 View

我需要从以下范围之外加载View:$this->load->view();它似乎在base/application/views目录下工作。如何从/application/目录外部访问View?我假设我将不得不扩展CI_Loader类这是最好的前进方式吗?我还找到了包含view_paths的数组://base/system/core/Loader.php//CI_Loader/***Listofpathstoloadviewsfrom**@vararray*@accessprotected*/protected$_ci_view_paths=array();但是所有声明变量上面的注释让我

php - codeigniter 表单验证规则 url

如何验证以URL作为输入值的表单字段。我尝试遵循以下规则。但如果用户输入字符串,它允许该字段。查看文件:'com_url','id'=>'com_url','value'=>set_value('com_url'),'placeholder'=>$this->lang->line('register_com_url'),'class'=>'form-control','maxlength'=>100);echoform_input($data);?>配置:array('field'=>'com_url','label'=>'ComURL','rules'=>'trim|required

php - CodeIgniter:向 URL 添加参数

开始我的第一个CI项目,只是想知道我如何处理URL参数?我有一个名为“city”的Controller,我已经修改了我的mod_rewrite,所以localhost/codeigniter使用rewrite到localhost/codeigniter/city。我想要做的是在URL的末尾添加一个城市名称并使用getsegment来查询表。所以我的例子是localhost/codeigniter/edinburgh。我会捕获最后一段,然后创建sql查询。但是我认为当我将edinburgh放入URL时,CI认为我正在寻找一个名为“edinburgh”的Controller。我是否必须添加

php - 在 Codeigniter 2 中扩展多个模型

如何设置CI2以允许扩展多个模型?我只能让它扩展一个名为MY_Model(区分大小写)的模型(放入/application/core)。选择扩展我正在做的模型;在模型中..require_onceAPPPATH.'core/MY_Another_model.php';classTest_modelextendsMY_Another_model{...}我无法在核心系统代码中找到只允许将正在扩展的模型称为MY_Model的地方。感谢您提供的所有帮助。 最佳答案 我已经尝试过CubedEye的方式,而且它有效,但这里有另一种选择:尝试将

php - 同名 collison 的 Codeigniter Controller 和模型

我正在从这个评论想法中尝试一些东西CodeIgniterController/Modelnameconflicts在core/CodeIgniter.php中找到类名变量:$class=$RTR->fetch_class();并像这样改变:$class='Controller'。$RTR->fetch_class();现在更改Controller名称:classControllerUserextendsCI_Controller{...成功了,现在我可以使用用户模型和用户Controller了。但我的问题是,这有意义吗?还是有问题?(抱歉我的英语不好) 最佳

如何使用PHPUnit编写一个PHP单元测试-简单的代码示例

在软件开发过程中,单元测试是一种重要的测试方法,可以确保代码的质量和可靠性。在PHP开发中,也可以通过编写单元测试来验证代码的正确性。下面将介绍一些编写PHP单元测试的基本步骤和常用工具。首先,你需要一个PHP单元测试框架,比如PHPUnit。PHPUnit是PHP社区最流行的测试框架之一,它提供了丰富的断言函数和测试运行器,方便开发者编写和运行单元测试。下面是一个简单的示例,展示了如何使用PHPUnit编写一个PHP单元测试。assertEquals(3,$result);}}//运行测试$result=PHPUnit_TextUI_TestRunner::run(newPHPUnit_Fr

php - Codeigniter 表单验证规则 - trim 有什么作用?

trim表单验证规则的实际作用是什么?我应该在什么时候使用它?谢谢 最佳答案 它删除输入字符串开头和结尾的空格。您可以将验证规则视为在输入上运行的例程管道。例如:$this->form_validation->set_rules('email','email','trim|required|valid_email');验证电子邮件输入时CodeIgniter:去除字符串开头和结尾的空格检查结果字符串是否为空检查它是否是一个有效的电子邮件地址trim例程通常在其他例程之前运行,并放在列表的前面。当您想忽略输入中的起始和尾随空格时,您应